﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.Services;
using BrowserGameFramework;
using BrowserGameFramework.Account;
using BrowserGameFramework.Common.Logging;

namespace BgfBackendService
{
    /// <summary>
    /// Zusammenfassungsbeschreibung für BgfBackendService
    /// </summary>
    [WebService(Namespace = "http://tempuri.org/")]
    [WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)]
    [System.ComponentModel.ToolboxItem(false)]
    // Um das Aufrufen dieses Webdiensts aus einem Skript mit ASP.NET AJAX zuzulassen, heben Sie die Auskommentierung der folgenden Zeile auf. 
    // [System.Web.Script.Services.ScriptService]
    public class BgfBackendService : System.Web.Services.WebService
    {

        [WebMethod]
        public string Ping()
        {
            return "Pong!";
        }

        #region Authentication

        /// <summary>
        /// Authenticates a user.
        /// </summary>
        /// <param name="user"></param>
        /// <param name="pass"></param>
        /// <returns></returns>
        [WebMethod]
        public UserPrincipal Authenticate(string user, string pass)
        {
            Trace.TraceEnterEvent("Authentication");
            
            AccountHandler handler = new AccountHandler();

            Trace.TraceLeaveEvent("Authentication");

            return (UserPrincipal)handler.Login(user, pass);
        }

        #endregion Authentication
    }
}
